Expand description
libp2p is a modular peer-to-peer networking framework.
To learn more about the general libp2p multi-language framework visit https://libp2p.io.
To get started with this libp2p implementation in Rust, please take a look
at the tutorials
. Further examples can be found in the
examples directory.
Re-exports
pub use bytes;
pub use futures;
pub use libp2p_quic as quic;
pub use libp2p_identity as identity;
Modules
- A libp2p module for managing allow and blocks lists to peers.
- autonat
autonat
Implementation of the AutoNAT protocol. - Transports, upgrades, multiplexing and node handling of libp2p.
- dcutr
dcutr
Implementation of the libp2p Direct Connection Upgrade through Relay specification. - dns
dns
- floodsub
floodsub
Implementation of the floodsub protocol. - gossipsub
gossipsub
Implementation of the Gossipsub protocol. - identify
identify
Implementation of the Identify protocol. - kad
kad
Implementation of the libp2p-specific Kademlia protocol. - mdns
mdns
Implementation of the libp2p-specific mDNS protocol. - memory_connection_limits
memory-connection-limits
- metrics
metrics
Auxiliary crate recording protocol and Swarm events and exposing them as metrics in the OpenMetrics format. - Implementation of multiaddr in Rust.
- Bare-minimum multihash data structure.
- noise
noise
Noise protocol framework support for libp2p. - ping
ping
This module implements the/ipfs/ping/1.0.0
protocol. - plaintext
plaintext
Implementation of the plaintext protocol. - pnet
pnet
Implementation of the pnet protocol. - relay
relay
Implementation of libp2p circuit relay protocol. - rendezvous
rendezvous
Implementation of the Rendezvous protocol. - request_response
request-response
Generic request/response protocols. - High-level network manager.
- tcp
tcp
Implementation of the libp2plibp2p_core::Transport
trait for TCP/IP. - tls
tls
TLS configuration based on libp2p TLS specs. - Rust-libp2p Tutorials to get started with.
- uds
uds
Implementation of the libp2pTransport
trait for Unix domain sockets. - upnp
upnp
and non-WebAssemblyImplementation of UPnP port mapping for libp2p. - websocket
websocket
and non-WebAssemblyImplementation of the libp2pTransport
trait for Websockets. - websocket_websys
websocket-websys
Libp2p websocket transports built on web-sys. - webtransport_websys
webtransport-websys
Libp2p WebTransport built on web-sys - yamux
yamux
Implementation of the Yamux multiplexing protocol for libp2p.
Macros
- Easy way for a user to create a
Multiaddr
.
Structs
- Representation of a Multiaddr.
- Identifier of a peer of the network.
- Identifies a protocol for a stream.
- Contains the state of the network, plus the way it should behave.
Enums
Traits
- Possible upgrade on an inbound connection or substream.
- Possible upgrade on an outbound connection or substream.
- A transport provides connection-oriented communication between two peers through ordered streams of data (i.e. connections).
- Trait automatically implemented on all objects that implement
Transport
. Provides some additional utilities.
Functions
- development_transportDeprecatedNon-WebAssembly and
tcp
anddns
andwebsocket
andnoise
andyamux
andasync-std
Builds aTransport
based on TCP/IP that supports the most commonly-used features of libp2p: - tokio_development_transportDeprecatedNon-WebAssembly and
tcp
anddns
andwebsocket
andnoise
andyamux
andtokio
Builds aTransport
based on TCP/IP that supports the most commonly-used features of libp2p: